<template>
  <div>
    <h3>childtwo --- childtwo --- childtwo</h3>

    <p><button @click="changparent">通过自定义事件修改父组件</button></p>
    <p><button @click="change">通过$parent直接修改父组件</button></p>
    <p><button @click="changeCount(100)">通过反向props修改父组件</button></p>
    <p><button @click="changeone()">通过事件中央总线去修改childone</button></p>
    <p><input type="text" v-model="msg" /></p>
    <p>
      <input
        type="text"
        value="不想搞了"
        @input="$emit('inputabc', $event.target.value)"
      />
    </p>
  </div>
</template>

<script>
export default {
  name: "childtwo",
  props: {
    // 子组件通过props接收父组件传来的方法
    changeCount: Function,
    a: String,
  },
  model: {
    prop: "a",
    event: "inputabc",
  },
  computed: {
    msg: {
      get() {
        return "不想搞了";
      },
      set(v) {
        console.log(v);
      },
    },
  },

  methods: {
    changeone() {
      this.$bus.$emit("changeshow"); // 通过 bus 向childone 发送一个修改它的方法
    },
    changparent() {
      this.$emit("changesome", "还是一脸懵逼啊"); //自定义一个方法 带一个参数 发送给父组件
    },
    change() {
      this.$parent.txt = "太慢了,还有好多没敲";
    },
  },
};
</script>